package org.changchen.fgt.utils;

import com.alibaba.fastjson.JSONObject;

import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;


/** 
* <p>Title: Xml2JsonUtil</p>  
* <p>Description: </p>  
* @author ChangChen
* @date 2020年12月4日  
*/  
public class Xml2JsonUtil {
	
	
	/**  
	 * <p>Title: xml2JSON</p>  
	 * <p>Description: </p>  
	 * @param xml
	 * @return  
	 */  
	public static JSONObject xml2JSON(String xml) {
		return com.alibaba.fastjson.JSON.parseObject(xml2json(xml));
	}
	

    /**
     * 将xml字符串<STRONG>转换</STRONG>为JSON字符串
     * 
     * @param xmlString
     *            xml字符串
     * @return JSON<STRONG>对象</STRONG>
     */
    public static String xml2json(String xmlString) {
        XMLSerializer xmlSerializer = new XMLSerializer();
        JSON json = xmlSerializer.read(xmlString);
        return json.toString(1);
    }
    
    
    /**
     * JSON(数组)字符串<STRONG>转换</STRONG>成XML字符串
     * 
     * @param jsonString
     * @return
     */
    public static String json2xml(String jsonString) {
        XMLSerializer xmlSerializer = new XMLSerializer();
        return xmlSerializer.write(JSONSerializer.toJSON(jsonString));
        // return xmlSerializer.write(JSONArray.fromObject(jsonString));//这种方式只支持JSON数组
    }
	
    private Xml2JsonUtil() {}
    
    
    public static void main(String[] args) {
		
    	String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><rss version=\"5.1\"><list page=\"1\" pagecount=\"1\" pagesize=\"25\" recordcount=\"1\"><video><last>2020-12-04 15:06:04</last><id>65189</id><tid>11</tid><name><![CDATA[洛约拉·圣·罗耀拉]]></name><type>剧情片</type><pic>http://images.cnblogsc.com/pic/upload/vod/2020-12/202012031607009890.jpg</pic><lang>英语</lang><area>其它</area><year>2017</year><state>0</state><note><![CDATA[BD]]></note><actor><![CDATA[Andreas,哈维尔·戈迪诺,胡里奥·佩里兰,本·坦普尔,马里奥·德·拉·罗萨]]></actor><director><![CDATA[Paolo]]></director><dl><dd flag=\"kuyun\"><![CDATA[BD中字$https://iqiyi.cdn27-okzy.com/share/7ae26cbe9586dea7d1f0fa372aa86811]]></dd><dd flag=\"ckm3u8\"><![CDATA[BD中字$https://iqiyi.cdn27-okzy.com/20201203/8158_ffa3a07f/index.m3u8]]></dd></dl><des><![CDATA['如果你能听到天主的声音，你会想要保守秘密吗？'根据耶稣会创始人圣依纳爵·罗耀拉回忆录改编的历史剧。这个故事是关于一个士兵、一个充满恶习和暴力的人在尝试转向光明的过程中，被迫与内心的恶魔抗争直到死亡的边缘。菲律宾制片人，在西班牙和菲律宾拍摄，电影讲述了他在潘普洛纳英勇但徒劳的战斗，他与沮丧和近自杀情绪的斗争，在异端裁判所得审判，以及他最后的无罪宣告。——译自IMDb上的介绍]]></des></video></list></rss>";
    	
    	JSONObject json = xml2JSON(xml);
    	
    	System.out.println(json);
    	
	}
    
    
}
